package com.mapper;

import com.pojo.Account;
import com.pojo.RightClassTwo;
import com.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AccountMapper {



    /**
     * 查询二级菜单
     * @param id
     * @param superId
     * @return
     */
    List<RightClassTwo> showRightByRightSuperId(@Param("id") Long id,@Param("superId") Long superId);

    /**
     * 更改用户状态
     * @param userCode
     * @return
     */
    int updateStatusByUserCode(Long userCode);

    /**
     * 根据用户id查用户
     * @param userCode
     * @return
     */
    Account findAccountByUserCode(Long userCode);

    /**
     * 查询角色列表
     * @param roleId
     * @return
     */
    List<Role> findRoleList(Long roleId);

    /**
     * 更新用户信息
     * @param account
     * @return
     */
    int updateAccount(Account account);

    /**
     * 修改密码
     * @param account
     * @return
     */
    int updatePassWord(Account account);

    /**
     * 修改用户角色
     * @param account
     * @return
     */
    int updateAccountRole(Account account);

    /**
     * 根据用户名查找用户
     * @param userName
     * @return
     */
    Account findAccountByUserName(String userName);

    /**
     * 增加用户
     * @param account
     * @return
     */
    int addAccount(Account account);

    /**
     * 增加用户对应角色
     * @param userCode
     * @param roleId
     * @return
     */
    int addAccountRole(@Param("userCode")Long userCode,@Param("roleId")Long roleId);

    /**
     * groupBy
     * @param roleId
     * @return
     */
    List<Account> groupByRoleId(Long roleId);

    List<Account> findAccountListByFuzzy(@Param("roleId") Long roleId,@Param("account") Account account);

    Account findAccountByFuzzy(@Param("roleId")Long roleId,@Param("account")Account account);

    List<Account> findAccountListByFuzzy_1(@Param("roleId") Long roleId,@Param("account") Account account);

    List<Account> findAccountListByFuzzy_2(@Param("roleId") Long roleId,@Param("account") Account account);
}
